Conventionally, a computing system (e.g., a server, a desktop computer, etc.) has an operating system installed therein. Some examples of an operating system include Windows Vista®, Linux, etc. The operating system acts as an interface between hardware and user applications by coordinating the use of hardware resources between user applications. The operating system provides various functionalities, which are accessible by the user applications using system calls. A system call as used herein broadly refers to a request from a user application to the operating system for performing a specific task.
As computing technologies are developed, more and more functionalities are supported in newer versions of operating systems. However, older versions of the operating systems do not support these additional functionalities. As a result, in order to run applications that require these new functionalities on a computing device, a copy of a newer version of a particular operating system has to be installed on the computing device. For entities having a large number of computing devices, the licensing fee required to upgrade all computing devices to a newer version of the operating system is very costly. Therefore, these entities may opt for upgrading the operating systems on only a limited number of computing devices, leaving the rest of the computing devices unable to run the applications that require the upgraded operating system.